"""
发现:
1.有些网站,当把它整个网页加载完成后 和 还没有加载完成时,两个情况下,有些资源(图片地址,标签属性...)是不一样的,这是一种优化.而它的真实地址大多数是图片还没有加载完时
的显示的资源.
2.有些网站的图片等资源的地址有多个,而且还不明确,如:'../image/xxx',地址不明确,此时将 鼠标 移动上去,它自动补全前面的全部地址.

"""

import urllib.request
from lxml import etree

url = 'https://sc.chinaz.com/tag_tupian/yazhoumeinv.html'

headers = {
	'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.141 Safari/537.36',

}

request = urllib.request.Request(url=url, headers=headers)
response = urllib.request.urlopen(request)
resp_data = response.read().decode('utf-8')

# 使用 xpath 解析源码
tree = etree.HTML(resp_data)

# 特殊的设置,当网页没有打开,或者图片没有加载完时,图片的真实路径属性不是 src 而是 src2
src_lists = tree.xpath('//div[@id="container"]//img/@src2')
name_lists = tree.xpath('//div[@id="container"]//img/@alt')

print(name_lists)

for i in range(len(name_lists)):
	name = name_lists[i]
	src = src_lists[i]

	urllib.request.urlretrieve(url='http:' + src, filename='站长之家图/{}.jpg'.format(name))
